Inhaltsverzeichnis für Liste
In der neuen Version der ST22, der Dumpanalyse, sieht man links ein Inhaltsverzeichnis des Dumps. Mit Doppelklick kann man den entsprechenden Abschnitt in der Liste springen. Mit diesem Programm zeigen wir Ihnen, wie es geht.
Screenshot
Coding
REPORT.
CLASS lcl_application DEFINITION DEFERRED.
DATA o_dock TYPE REF TO cl_gui_docking_container.
DATA o_tree TYPE REF TO cl_gui_simple_tree.
DATA o_appl TYPE REF TO lcl_application.
DATA gt_nodes TYPE STANDARD TABLE OF mtreesnode.
DATA gs_node TYPE mtreesnode.
PARAMETERS p_pagnum TYPE sypagno DEFAULT 10.
*———————————————————————-*
* CLASS LCL_APPLICATION DEFINITION
*———————————————————————-*
CLASS lcl_application DEFINITION.
PUBLIC SECTION.
METHODS:
handle_node_double_click
FOR EVENT node_double_click
OF cl_gui_simple_tree
IMPORTING node_key.
ENDCLASS. “LCL_APPLICATION DEFINITION
*———————————————————————-*
* CLASS LCL_APPLICATION IMPLEMENTATION
*———————————————————————-*
CLASS lcl_application IMPLEMENTATION.
METHOD handle_node_double_click.
DATA lv_page TYPE i.
lv_page = node_key.
SCROLL LIST TO PAGE lv_page.
ENDMETHOD. “HANDLE_NODE_DOUBLE_CLICK
ENDCLASS. “LCL_APPLICATION IMPLEMENTATION
START-OF-SELECTION.
PERFORM init_dock.
PERFORM list.
*&———————————————————————*
*& Form init_dock
*&———————————————————————*
FORM init_dock.
DATA lt_events TYPE cntl_simple_events.
DATA ls_event TYPE cntl_simple_event.
*– Create docking control
CREATE OBJECT o_dock
EXPORTING
side = o_dock->dock_at_left
ratio = 30
no_autodef_progid_dynnr = ‘X’.
*– Create TreeControl
CREATE OBJECT o_tree
EXPORTING
parent = o_dock
node_selection_mode = cl_gui_simple_tree=>node_sel_mode_single.
*– build tree
CLEAR gs_node.
gs_node-node_key = ‘Root’. “#EC NOTEXT
gs_node-isfolder = ‘X’. ” a folder.
gs_node-text = ‘Seiten’.
APPEND gs_node TO gt_nodes.
DO p_pagnum TIMES.
*– build one tree nodes for each page
CLEAR gs_node.
gs_node-node_key = sy-index.
gs_node-relatkey = ‘Root’.
gs_node-relatship = cl_gui_simple_tree=>relat_last_child.
gs_node-text = sy-index.
shift gs_node-text LEFT DELETING LEADING space.
APPEND gs_node TO gt_nodes.
ENDDO.
*– set nodes
CALL METHOD o_tree->add_nodes
EXPORTING
table_structure_name = ‘MTREESNODE’
node_table = gt_nodes.
*– expand root
CALL METHOD o_tree->expand_root_nodes.
*– set events
ls_event-eventid = cl_gui_simple_tree=>eventid_node_double_click.
ls_event-appl_event = ‘X’. ” process PAI if event occurs
APPEND ls_event TO lt_events.
*– register
CALL METHOD o_tree->set_registered_events
EXPORTING
events = lt_events.
*– create application
CREATE OBJECT o_appl.
*– assign event handlers
SET HANDLER o_appl->handle_node_double_click FOR o_tree.
ENDFORM. “init_dock
*&———————————————————————*
*& Form list
*&———————————————————————*
FORM list.
DO p_pagnum TIMES.
DO 20 TIMES.
WRITE: / ‘Seite’, sy-pagno, ‘=> Zeile’, sy-index.
ENDDO.
NEW-PAGE.
ENDDO.
ENDFORM. “list
- Meine Eclipse-Plugins - 22. November 2024
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024